"""
import pygame
from plane_sprites import GameSprite

# 初始化 Pygame
pygame.init()

# 设置窗口为屏幕的尺寸（可选）
screen = pygame.display.set_mode((500, 800))
bg_img = pygame.image.load("./images/background03.png")
screen.blit(bg_img, (0, 0))

# 创建英雄飞机
hero = pygame.image.load("./images/hero02.png")
hero_rect = pygame.Rect(200, 500, 82, 104)
# 绘制图像(初始化的时候有图片显示，不然图片会突然出现)
# screen.blit(hero, hero_rect)
# 统一调用update来刷新屏幕
# pygame.display.update()

# 创建敌机和敌机精灵组
enemy = GameSprite("./images/enemy.png")
enemy_group = pygame.sprite.Group(enemy)

# 创建时钟
clock = pygame.time.Clock()

# 游戏主循环（示例）
while True:
    # 设置游戏帧数(屏幕刷新的速度)
    clock.tick(60)

    # 获取事件
    for event in pygame.event.get():
        # 判断是否点击了退出按钮
        if event.type == pygame.QUIT:
            pygame.quit()  # 退出Pygame
            exit()  # 退出整个程序

    # 2、修改飞机的位置
    hero_rect.y -= 1
    if hero_rect.y <= 0: # 如果飞机到达顶部，则重置位置
        hero_rect.y = 800
    # 3、绘制图像
    screen.blit(bg_img, (0, 0))  # 重新绘制背景，覆盖之前的飞机图像，避免飞机在页面上形成一长串的图片
    screen.blit(hero, hero_rect)

    # 通过敌机精灵组更新敌机，并绘制到屏幕上
    enemy_group.update()
    enemy_group.draw(screen)

    # 4、调用update方法更新屏幕
    pygame.display.update()

# 退出 Pygame
pygame.quit()
"""



"""
    # 填充屏幕（示例）
    screen.fill((0, 0, 0))
    pygame.display.flip()

"""

"""
# 获取屏幕信息
screen_info = pygame.display.Info()
screen_width = screen_info.current_w
screen_height = screen_info.current_h
print(f"屏幕宽度: {screen_width}, 屏幕高度: {screen_height}")

rect = pygame.Rect(100, 500, 200, 300)
print("矩形对象: ", rect)
print("矩形对象(x, y): ", (rect.x, rect.y))
print("矩形对象(width, height): ", (rect.width, rect.height))
print("矩形对象(size): ", rect.size)
"""



"""
关键点说明：
pygame.display.Info()：返回一个包含屏幕信息的对象。

current_w
和
current_h：分别表示当前屏幕的宽度和高度（以像素为单位）。

pygame.display.set_mode()：如果你想创建一个全屏窗口，可以直接使用屏幕的宽和高。

其他注意事项：
如果你只是想获取显示器的分辨率，而不初始化
Pygame
的显示模块，也可以直接调用
pygame.display.Info()（但通常需要先调用
pygame.init()）。

如果你想创建一个窗口而不是全屏，可以忽略
pygame.FULLSCREEN
标志，例如：

python
screen = pygame.display.set_mode((800, 600))  # 固定窗口大小
这样你就可以在程序启动时获取屏幕的尺寸并根据需要设置窗口了！
"""